package chapter01


import java.text.SimpleDateFormat

class DateDemo {
    static void main(String[] args) {
        // 获取当前时间
        Date now = new Date()

        // 创建 SimpleDateFormat 实例，指定日期格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

        // 使用 format() 方法将 Date 对象格式化为字符串
        String formattedDate = dateFormat.format(now)

        // 打印格式化后的日期
        println(formattedDate)
    }
}


import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

class DateDemo2 {
    static void main(String[] args) {
        // 获取当前时间
        LocalDateTime now = LocalDateTime.now()

        // 创建 DateTimeFormatter 实例，指定日期格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")

        // 使用 format() 方法将 LocalDateTime 对象格式化为字符串
        String formattedDate = now.format(formatter)

        // 打印格式化后的日期
        println(formattedDate)
    }
}


import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
import java.time.ZoneId

class DateDemo3 {
    /*
    返回带时区的时间
    * */
    // 获取当前时间，使用系统默认时区
    static void main(String[] args) {
        // 获取当前时间，使用系统默认时区
        // ZonedDateTime now = ZonedDateTime.now()

        // 你也可以指定特定的时区，例如 UTC
        // ZonedDateTime now = ZonedDateTime.now(ZoneId.of("UTC"))

        //  北京时区
        ZonedDateTime now = ZonedDateTime.now(ZoneId.of("Asia/Shanghai"))

        // 创建 DateTimeFormatter 实例，指定日期格式
//        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss Z")
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")

        // 使用 format() 方法将 ZonedDateTime 对象格式化为字符串
        String formattedDate = now.format(formatter)

        // 打印格式化后的日期
        println(formattedDate)
    }
}

class DateDemo4 {

    static void main(String[] args) {

        // 使用 Groovy 的内置方法
        def now = new Date().format("yyyy-MM-dd HH:mm:ss")

        println("now: ${now}")
    }
}